草庐IT

TypeScript 模块

全部标签

javascript - 尝试在 Chrome 扩展中导入模块时出现“意外标识符”

我正在开发一个Chrome扩展程序,它将使用一些后台脚本。我认为使用模块会很有趣,因为Google最近添加了对模块的本地支持。但是,当我尝试导入模块时遇到“未捕获语法错误:意外标识符”错误。错误指向写入导入的代码行。这是一个例子:在main.js中:importtestfrom'./test.js';在test.js中:exportdefaultfunctiontest(){console.log('thisisatest.');}我尝试过各种其他格式,但都不起作用。有趣的是,Chrome最新的import('file.js')函数运行良好。但是,我正在寻找一种无需使用promise即

javascript - 找不到模块 : Can't resolve 'material-ui/styles/colors'

我有以下代码,未编译:importReactfrom'react';import{AppBar,Toolbar}from'material-ui';import{Typography}from'material-ui';import{MuiThemeProvider,createMuiTheme}from'material-ui/styles';import{cyan,red}from'material-ui/colors';import{red400}from'material-ui/styles/colors';consttheme=createMuiTheme({palette:

javascript - RequireJS 和 JS 模块模式

我目前正在开发一个Javascript应用程序,该应用程序使用具有“模块模式”的多个javascript文件。像这样:varapp=app||{};app.moduleName=app.moduleName||{};app.moduleName=function(){//privatepropertyvarsomeProp=null;return{//publicmethodinit:function(){return"foo";}};}();我使用它的原因是为了结构化我的代码。例如,我可以通过调用app.moduleName.init()来调用方法或属性。这样做的一个缺点是我必须包含

javascript - 将 Javascript 函数转换为 Typescript,包括 getComputedTextLength()

我正在将一些Javascript代码转换为Typescript。这是一个很酷的Javascript函数,它使用d3并完美地包装了一个svg文本block。通常我只会将“函数”一词更改为“私有(private)”,该函数将像在Typescript中一样工作,但是这个函数只提示getComputedTextLength()函数。如果有人能解释我如何让这个函数在Typescript中为我自己和其他人工作,包括我为什么会收到错误,那就太好了。VisualStudio不提供任何帮助。谢谢。functionwrap(text,width){text.each(function(){vartext=

javascript - 将 ES5 JavaScript 用于 Angular 2 应用程序和使用 TypeScript 的优缺点是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.6年前关闭。Improvethisquestion我已经使用Angular1多年了,我开始学习如何使用Angular2。但在编写任何代码行之前,我都在纠结是否必须使用TypeScript或JavaScript。使用TypeScript的优缺点是什么?使用普通旧JavaScript的那些是什么?奖金问题:在Angular2上下文中选择JavaScript和TypeScript是否有最佳实践?我不知道TypeScript,但从我看到的几段代码来

javascript - 使用 javascript 模块模式时如何从私有(private)方法中调用公共(public)方法?

我想从私有(private)方法调用公共(public)方法,但属性“this”指的是窗口对象。请注意我正在尝试应用模块模式。您可以在jsfiddle.net找到工作代码示例//howcaniaccessapublicmethodfromaprivateone?//(inthisexamplepublicAlertfromprivateMethod)//thisreferstothewindowobject.$(function(){varmodulePattern=(function($){varprivateMethod=function(){appendText("calledp

javascript - 为什么在 Javascript 模块模式中使用自执行匿名函数?

在JavaScript的模块模式中,“立即调用的函数表达式”(也称为自执行匿名函数)用作返回对象的自执行函数。自执行函数如何隐藏私有(private)变量,只暴露返回的对象。为什么普通的JavaScript函数不会发生这种情况?那么在下面的迷你模块中,为什么没有封闭的()()就不能实现同样的封装概念呢?varModule=(function(){varprivateVariable="foo",privateMethod=function(){alert('privatemethod');};return{PublicMethod:function(){alert(privateVar

javascript - 将 JQueryUI 与 TypeScript 和 DefinitelyTyped 定义文件一起使用时出错

所以我正在尝试将JQueryUI与TypeScript一起使用,到目前为止,我已经使用npminstalljquery-ui-dist安装了JQueryUI,使用npminstalljquery安装了JQuery。我还使用npminstall--save-dev@types/jquery和npminstall--save-dev@types/jquery-ui添加了来自DefinitelyTyped的定义文件.我得到了以下文件(省略了部分):///import*as$from"jquery";import"jquery-ui";exportdefaultclassResizer{pub

javascript - TypeScript 返回不可变/常量/只读数组

我想要一个返回数组的函数,但我希望返回的数组是只读的,所以当我尝试更改其内容时应该会收到警告/错误。functiongetList():readonlynumber[]{return[1,2,3];}constlist=getList();list[2]=5;//Thisshouldresultinacompileerror,thereturnedlistshouldneverbechanged这可以在TypeScript中实现吗? 最佳答案 这似乎可行...functiongetList():ReadonlyArray{retur

javascript - 使用 Gulp 在外部制作 browserify 模块

我有一个库lib.js,我想从lib/a.js和lib/b.js创建,然后能够使用vara=require('lib/a.js');从脚本client.js中使用它并且当我只包含已编译的时它可以工作client.js之前的lib.js库(因此,lib.js必须声明一个require函数知道关于lib/a.js)我想我必须使用external和alias但我不确定正确的方法是什么此外,是否可以有一个Gulp文件自动为我的库中的文件夹创建所有别名?例如。为lib/目录中的所有文件创建别名? 最佳答案 这里有几个gulp任务可以帮助您分别